import java.util.ArrayList;

import com.google.java.contract.*;

@Invariant("connectedToDB()")
public interface DatabaseInterface{
	
	@Requires("{!userTableEmpty(), userSet()}")
	String getUser();
	
	@Requires("!userTableEmpty()")
	String[] getAllUsers();
	
	@Ensures("!userTableEmpty()")
	void addUser(String name);
	
	@Ensures("userSet()")
	void setUser();
	
	@Requires("!coasterTableEmpty()")
	Rollercoaster[] getAllRollercoasters();
	
	@Ensures("!coasterTableEmpty()")
	void saveRollerCoaster(Rollercoaster rCoaster);
	
	//Added by Becca
	ArrayList<String> getAllCoasterNames();
	
	Rollercoaster getRollercoaster(String name);
	
	
	
	boolean userSet();
	boolean userTableEmpty();
	boolean coasterTableEmpty();
	boolean connectedToDB();
		
}